package service;

import entity.User;
import entity.UserRole;
import service.entity.LimitUser;

import java.util.Collection;
import java.util.List;

/**
 * Created by asus on 2017/6/20.
 */
public interface UserService {

    public void addUser(User user);

    public void updateUser(User user);

    public void deleteUserById(Long id) throws Exception;

    public User getUser(String name, String pwd);

    /**
     * 获取总记录数
     * @return
     */
    public Integer getCount();

    public Collection<User> getUsers(int page, int size);

    public Collection<User> getUsers(Collection<Long> ids);

    /**
     * 分页查询用户角色对应关系
     *
     * @param page
     * @param size
     * @return 用户角色对应关系集合
     */
    public List<UserRole> getUserRoles(Integer page, Integer size);

    /**
     * 根据用户id查询用户角色对应关系
     *
     * @param userId
     * @return 用户角色对应关系集合
     */
    public List<UserRole> getUserRolesByUserId(Long userId);

    /**
     * 保存用户角色对应关系
     *
     * @param userId
     * @param roleIds
     */
    public void addUserRole(Long userId, Long[] roleIds);


    public List<LimitUser>  getLimitUser(String username,int page,int size);

    /**
     * 更新用户角色对应关系
     * @param userId
     * @param roleIds
     */
    public void updateUserRole(Long userId,Long[] roleIds) throws Exception;
}
